﻿using HelloWPF.Study.WPFControls.Utility;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloWPF.Study.WPFControls.Model
{
    /// <summary>
    /// 菜单基类
    /// </summary>
    public class MenuItemBase
    {
        /// <summary>
        /// 节点Id
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 节点名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 节点级别
        /// </summary>
        public int Level { get; set; }

        /// <summary>
        /// 节点级别关系
        /// </summary>
        public string LevelRelationship { get; set; }

        /// <summary>
        /// 父节点Id
        /// </summary>
        public int ParentId { get; set; }

        /// <summary>
        /// 执行
        /// </summary>
        public virtual void Execute()
        {

        }

        /// <summary>
        /// 当前菜单的子菜单
        /// </summary>
        public ObservableCollection<MenuItemBase> SubMenuItems { get; set; }

        /// <summary>
        /// Item的类型
        /// </summary>
        public ItemType Type { get; set; }

        /// <summary>
        /// Item的物理路径
        /// </summary>
        public string Path { get; set; }

        /// <summary>
        /// Item的物理路径
        /// </summary>
        public ItemStatus Status { get; set; }
    }
}
